home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_perl.idb / usr / freeware / catman / p_man / cat3 / B::Xref.Z / B::Xref
Encoding:
Text File  |  1998-10-28  |  3.9 KB  |  133 lines

  1.  
  2.  
  3.  
  4.      BBBB::::::::XXXXrrrreeeeffff((((3333))))         22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))        BBBB::::::::XXXXrrrreeeeffff((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       B::Xref - Generates cross reference reports for Perl
  10.       programs
  11.  
  12.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.       perl -MO=Xref[,OPTIONS] foo.pl
  14.  
  15.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.       The B::Xref module is    used to    generate a cross reference
  17.       listing of all definitions and uses of variables,
  18.       subroutines and formats in a Perl program.  It is
  19.       implemented as a backend for the Perl    compiler.
  20.  
  21.       The report generated is in the following format:
  22.  
  23.           File filename1
  24.         Subroutine subname1
  25.           Package package1
  26.             object1       C<line numbers>
  27.             object2       C<line numbers>
  28.             ...
  29.           Package package2
  30.           ...
  31.  
  32.       Each FFFFiiiilllleeee section reports on a single    file. Each SSSSuuuubbbbrrrroooouuuuttttiiiinnnneeee
  33.       section reports on a single subroutine apart from the
  34.       special cases    "(definitions)"    and "(main)". These report,
  35.       respectively,    on subroutine definitions found    by the initial
  36.       symbol table walk and    on the main part of the    program    or
  37.       module external to all subroutines.
  38.  
  39.       The report is    then grouped by    the PPPPaaaacccckkkkaaaaggggeeee of each variable,
  40.       subroutine or    format with the    special    case "(lexicals)"
  41.       meaning lexical variables. Each oooobbbbjjjjeeeecccctttt name (implicitly
  42.       qualified by its containing PPPPaaaacccckkkkaaaaggggeeee) includes    its type
  43.       _c_h_a_r_a_c_t_e_r(s) at the beginning    where possible.    Lexical
  44.       variables are    easier to track    and even included
  45.       dereferencing    information where possible.
  46.  
  47.       The line numbers are a comma separated list of line numbers
  48.       (some    preceded by code letters) where    that object is used in
  49.       some way.  Simple uses aren't    preceded by a code letter.
  50.       Introductions    (such as where a lexical is first defined with
  51.       my) are indicated with the letter "i". Subroutine and    method
  52.       calls    are indicated by the character "&".  Subroutine
  53.       definitions are indicated by "s" and format definitions by
  54.       "f".
  55.  
  56.      OOOOPPPPTTTTIIIIOOOONNNNSSSS
  57.       Option words are separated by    commas (not whitespace)    and
  58.       follow the usual conventions of compiler backend options.
  59.  
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 10/23/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      BBBB::::::::XXXXrrrreeeeffff((((3333))))         22223333////JJJJuuuullll////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))        BBBB::::::::XXXXrrrreeeeffff((((3333))))
  71.  
  72.  
  73.  
  74.       -oFILENAME
  75.           Directs output to FILENAME instead of    standard
  76.           output.
  77.  
  78.       -r      Raw output. Instead of producing a human-readable
  79.           report, outputs a line in machine-readable form for
  80.           each definition/use of a variable/sub/format.
  81.  
  82.       -D[tO]  (Internal) debug options, probably only useful if -r
  83.           included.  The t option prints the object on the top
  84.           of the stack as it's being tracked. The O option
  85.           prints each operator as it's being processed in the
  86.           execution order of the program.
  87.  
  88.      BBBBUUUUGGGGSSSS
  89.       Non-lexical variables    are quite difficult to track through a
  90.       program.  Sometimes the type of a non-lexical    variable's use
  91.       is impossible    to determine. Introductions of non-lexical
  92.       non-scalars don't seem to be reported    properly.
  93.  
  94.      AAAAUUUUTTTTHHHHOOOORRRR
  95.       Malcolm Beattie, mbeattie@sable.ox.ac.uk.
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 10/23/98)
  130.  
  131.  
  132.  
  133.